package com.vhall.component.service.vote;


import com.vhall.component.entity.page.vo.PageVO;
import com.vhall.component.entity.vote.vo.*;
import com.vhall.component.entity.vote.vo.console.StatReqVO;
import com.vhall.component.entity.vote.vo.console.StatRsqVO;
import com.vhall.component.entity.vote.vo.console.VoteExportVO;
import com.vhall.component.entity.vote.vo.console.VotesUpdateConsoleRepVO;

import java.util.List;

/**
 * @author longzhen.gong
 * @date 2021/7/6 19:18
 */
public interface VoteConsoleService {


    VotesCreateRspVO create(VotesCreateReqVO reqVO);
    /**
     * 删除投票信息
     *
     * @param voteIds
     * @param accountId
     * @return
     */
    List<Long> delete(List<Long> voteIds, Integer accountId);

    /**
     * 更新投票信息
     *
     * @param repVO
     * @param accountId
     * @return
     */
    VotesUpdateRspVO update(VotesUpdateConsoleRepVO repVO, Integer accountId);

    /**
     * 查询投票信息
     *
     * @param repVO
     * @param accountId
     * @return
     */
    PageVO<VotesListRspVO> list(VotesListReqVO repVO, Integer accountId);

    /**
     * 查询投票信息 是否回答过此投票
     *
     * @param voteInfoVO
     * @param accountId
     * @return
     */
    VoteInfoRspVO info(VoteInfoReqVO voteInfoVO, Integer accountId);

    /**
     * 投票统计详情
     *
     * @param reqVO
     * @return
     */
    PageVO<StatRsqVO> stat(StatReqVO reqVO);

    /**
     * 房间数据中导出投票详情csv
     *
     * @param reqVO
     * @return
     */
    Boolean export(VoteExportVO reqVO);


}
